package main

import (
	"fmt"
	"go_learning_package/tree"
)

func main() {
	var root tree.Node
	//fmt.Println(root)

	root = tree.Node{Value: 3}
	root.Left = &tree.Node{} // 什么意思呢, 就是说 树结构的左指针 是一个 zero value 的 treeMode
	root.Right = &tree.Node{5, nil, nil}
	root.Right.Left = new(tree.Node) // 又了解了一个内建函数 make是 new也是 new给的是一个type的 地址值

	node2 := tree.CreateNode(3)
	node2.Print()

	fmt.Println("结构体也是值传递,所以,在方法中,对值的修改是没有用的")
	node2.SetValue(100)
	node2.Print()

	//node2.right.print()
	node2.Left.SetValue(1)

	root.Traverse()
}
